/*! \page SystemDoc System

Keyword: MOLECULE, PERIODIC or HEG

\section description Description

Here we specify the Hamiltonian of the calculation, which includes 
the atomic coordinates and the boundary conditions.  Since there's a 
lot of overlap between the choices, we'll list the options together, with 
a note on the differences. HEG is designed to to treat extended
homogeneous systems. It can be understood as a special case of the
PERIODIC system (rectangular box, no atoms). It is implemented
separately as it allows for performance improvements.

\section options Options

\subsection reqopt Required 

<table>
<tr> <td> <b>Option</b> <td> <b>Type</b> <td> <b>Description</b>
<tr> <td> NSPIN  <td> Section <td> Two integers, the first the number of spin u
electrons and the second the number of spin down.

<tr> <td> ATOM   <td >Section <td>   (only for MOLECULE and PERIODIC)
Add an atom to the system.  The format of 
the section is { [label]  [charge] COOR x y z }.  For example, a Lithium atom 
with atomic charge 3 at (.5, 0, -.5) would be ATOM { Li 3 COOR .5 0 -.5 }.

<tr> <td> LATTICEVEC <td> Section <td> (only for PERIODIC) Enforce the 
periodic boundary conditions as a parallelepiped, with three vectors specifying
the edges.  For example, a cubic cell with sides 1.0 a.u. is: <br>
LATTICEVEC { <br>
1.0 0.0 0.0 <br>
0.0 1.0 0.0 <br>
0.0 0.0 1.0 <br>
}

<tr> <td> BOXSIZE <td> Section <td> (only for HEG) Dimensions of the
simulation cell (rectangular box). The section contains 3 floats.
</table>

\subsection optopt Optional

<table>
<tr> <td> <b>Option</b> <td> <b>Type</b> <td> <b> Default </b> 
     <td> <b>Description</b>

<tr> <td> CUTOFF_DIVIDER <td> Float <td> 1.0 
      <td> (Only in PERIODIC).  Control how many unit cells to generate ghost 
          centers around the simulation cell.  1 is one unit cell, 2 is one 
          half a unit cell, and .5 is 2 unit cells.
<tr> <td> BOUNDING_BOX  <td> Section <td> None 
     <td> (Only in MOLECULE.)  Enforce periodic boundary conditions
      without using the Ewald summation or ghost atoms.  The format is
      the same as LATTICEVEC.
<tr> <td> ORIGIN        <td> Section <td> { 0 0 0 } 
     <td> Change the origin of the periodic boundary conditions(in
      BOUNDING_BOX or LATVEC)

<tr> <td> KPOINT <td> Section <td> { 0.0 0.0 0.0 }
     <td> (only for PERIODIC and HEG) Specify the k-point (i.e.,
     boundary conditions) at which the trial wave function is
     constructed. For instance, 0 selects periodic and 1
     selects anti-periodic boundary condition along the
     corresponding lattice vector.
     <tr> <td> EWALD_GMAX <td> Integer <td> 200 
             <td> (only for PERIODIC) How far to search to generate the k-mesh for the EWald summation. Only the vectors with significant weights are kept. If you have a cell with a lattice vector larger than around 300 Bohr, this may need to be increased.
<tr> <td> INTERACTION <td> Section <td> { TRUNCCOUL }
     <td> (only for HEG) Specify model for particle-particle
     interactions. Implemented options are
     <ul>
     <li>EWALD : standard Ewald formula for evaluation Coulomb
     interaction in systems in periodic boundary conditions.
     <li>TRUNCCOUL : Coulomb interaction truncated in such a way that
     contributions from neighboring copies of simulation cell do not
     overlap. Energy converges faster to its thermodynamic limit with
     this choice, see Fraser et al.,
     <a href="http://dx.doi.org/10.1103/PhysRevB.53.1814">Phys. Rev. B
     <b>53</b>, 1814 (1996)</a> .
     <li>GAUSS AMP \f$ V_0 \f$ STDEV \f$ \sigma \f$ : inter-particle
     potential in the form (\f$ V_0 \f$ and \f$ \sigma \f$ are real
     parameters)
     \f[
     V(r_{ij})=\frac{V_0}{\sigma\sqrt{2\pi}}\exp
                  \Bigl(-r_{ij}^2/2/\sigma^2\Bigr)
     \f]
     </ul>
     Besides one of the above choices, one can include in INTERACTION
     section also the following keywords to restrict, which
     electrons actually interact. These keywords are
     <i>experimental</i>, it is not entirely clear that spin dependent
     hamiltonians of this type are compatible with the spin-labeling
     scheme used to represent wave functions in QWalk.
     <ul>
     <li>NO_SAME_SPIN : up-up and down-down interaction is removed
     <li>NO_DIFF_SPIN : up-down interaction is removed
     </ul>

</table>


*/
